// svg 转成url
export function svgToUrl(url) {
    var encoded = url
        .replace(/<!--(.*)-->/g, "")
        .replace(/[\r\n]/g, " ")
        .replace(/"/g, `'`)
        .replace(/%/g, "%25")
        .replace(/&/g, "%26")
        .replace(/#/g, "%23")
        .replace(/{/g, "%7B")
        .replace(/}/g, "%7D")
        .replace(/</g, "%3C")
        .replace(/>/g, "%3E");

    let res = '"' + `data:image/svg+xml,${encoded}` + '"'; //需要在字符串前后加上一对引号（非常关键！）
    return res;
}
// svg 修改图片颜色
export function svgChangeColor(url, color, type, index) {
    let modifiedStr;
    // 修改里层颜色
    if (type == 'two-tone') {
        let color2 = color;
        let newColor = color2.replace("#", "%23");
        let str = url; // 原始字符串
        let pattern = /%23[a-zA-Z0-9]{6}/g; // 正则表达式，匹配最后一个数字及之前的任何字符
        // 使用 match() 函数获取所有符合条件的子字符串
        let matches = str.match(pattern);
        // console.log('matchesmatchesmatches', matches)
        // if (matches && matches.length > 0) {
        //   let lastMatch = matches[matches.length - 1]; // 获取最后一个符合条件的子字符串
        //   console.log('lastMatchlastMatchlastMatch', lastMatch)
        //   // 使用 replace() 函数进行修改
        //   modifiedStr = str.replace(lastMatch, newColor);
        // }
        if (matches && matches.length > 0) {
            // 使用 replace() 函数进行修改 指定下标的
            modifiedStr = str.replace(matches[index], newColor);
        }
        return modifiedStr;
    } else {
        // 全颜色修改
        modifiedStr = url.replace(/%23[a-zA-Z0-9]{6}/g, color.replace("#",
            "%23")); //转义后的#等于%23，利用正则表达式，替换所有%23后6位为新的十六进制六位数。
        return modifiedStr;
    }

}